package com.gxa.saas.exception;

/**
 * 设计一个自定义异常:表示程序中出现的业务异常情况
 * @author bill
 * @date 2022/5/7 10:48
 */
public class BusinessException extends Exception {

    // message: 业务异常中要提示的信息
    // 例如: 手机号不能重复/用户名不能为空
    // 在企业开发中,对提示信息有严格的规范和要求:
    // 提示信息必须版本唯一,不能由开发人员任意设计提示内容
    // 必须专门声明: 使用枚举
    // 枚举: 就是java的一个类,以类似常量的形式声明了一组成员字段
    // 且这些字段不可更改,只能访问

    private ExceptionCode exceptionCode;

    public ExceptionCode getExceptionCode(){
        return exceptionCode;
    }



    /**
     * 利用枚举改造:
     * @param exceptionCode 传递一个枚举对象
     */
    public BusinessException(ExceptionCode exceptionCode){
        super(exceptionCode.getMessage());
        this.exceptionCode = exceptionCode;
    }
}
